package main

import (
	"log"
	"os"
	"text/template"

)

func main() {
	//模板代码
	//这里定义了T1 T2 T3三个模板，T3调用了T1和T2的模板内容，最后我们调用T3模板内容
	const templateText = `{{define "T1"}}ONE{{end}}
{{define "T2"}}TWO{{end}}
{{define "T3"}}{{template "T1"}} {{template "T2"}}{{end}}
{{template "T3"}}`


	// 创建一个template对象，模板名字为test，然后调用Parse加载templateText模板代码。
	tmpl, err := template.New("test").Parse(templateText)
	if err != nil {
		log.Fatalf("解析模板失败: %s", err)
	}

	// 渲染模板
	err = tmpl.Execute(os.Stdout, "")
	if err != nil {
		log.Fatalf("渲染模板失败: %s", err)
	}


	//创建template对象，并且加载views目录下面所有的tpl模板文件。
	t := template.Must(template.ParseGlob("views/*.tpl"))

	// 渲染mod1子模板
	t.ExecuteTemplate(os.Stdout, "mod1", nil)

	// 渲染mod2子模板
	t.ExecuteTemplate(os.Stdout, "mod2", nil)
}

